home *** CD-ROM | disk | FTP | other *** search
/ Visual Cafe 3 / Visual Cafe 3.ISO / Vcafe / Main.bin / HelperBeanInfo.java < prev    next >
Text File  |  1998-10-21  |  5KB  |  185 lines

  1. package com.symantec.itools.beans;
  2.  
  3. import java.beans.*;
  4. import com.symantec.itools.vcafe.beans.BeanDescriptorAttributes;
  5.  
  6. public abstract class HelperBeanInfo
  7.     extends SimpleBeanInfo
  8. {
  9.     //
  10.     // Implementation
  11.     //
  12.     
  13.     public BeanDescriptor getBeanDescriptor()
  14.     {
  15.         BeanDescriptor beanDescriptor = new BeanDescriptor(getBeanClass(),getCustomizerClass());
  16.         modifyBeanDescriptor(beanDescriptor);
  17.         return beanDescriptor;
  18.     }
  19.     
  20.     public BeanInfo[] getAdditionalBeanInfo()
  21.     {
  22.         if (m_InheritSuperBeanInfo)
  23.         {
  24.             BeanInfo[] supersbeanInfo = new BeanInfo[1];
  25.             
  26.             try
  27.             {
  28.                 supersbeanInfo[0] = Introspector.getBeanInfo(getBeanClass().getSuperclass());
  29.                 return supersbeanInfo;
  30.             }
  31.             catch(IntrospectionException e)
  32.             {
  33.                 e.printStackTrace();
  34.             }
  35.         }
  36.         
  37.         return null;
  38.     }
  39.     
  40.     public java.awt.Image getIcon(int iconKind)
  41.     {
  42.         switch(iconKind)
  43.         {
  44.             case ICON_COLOR_16x16:
  45.                 if (m_16x16ColorIcon != null)
  46.                     return loadImage(m_16x16ColorIcon);
  47.                 break;
  48.             case ICON_COLOR_32x32:
  49.                 if (m_32x32ColorIcon != null)
  50.                     return loadImage(m_16x16ColorIcon);
  51.                 break;
  52.             case ICON_MONO_16x16:
  53.                 if (m_16x16MonoIcon != null)
  54.                     return loadImage(m_16x16ColorIcon);
  55.                 break;
  56.             case ICON_MONO_32x32:
  57.                 if (m_32x32MonoIcon != null)
  58.                     return loadImage(m_32x32MonoIcon);
  59.                 break;
  60.         }//switch
  61.         
  62.         return null;
  63.     }
  64.     
  65.     //
  66.     // Properties
  67.     //
  68.     
  69.     protected void set16x16ColorIconName(String new16x16ColorIcon)
  70.     {
  71.         m_16x16ColorIcon = new16x16ColorIcon;
  72.     }
  73.     
  74.     protected void set32x32ColorIconName(String new32x32ColorIcon)
  75.     {
  76.         m_32x32ColorIcon = new32x32ColorIcon;
  77.     }
  78.     
  79.     protected void set16x16MonoIconName(String new16x16MonoIcon)
  80.     {
  81.         m_16x16MonoIcon = new16x16MonoIcon;
  82.     }
  83.     
  84.     protected void set32x32MonoIconName(String new32x32MonoIcon)
  85.     {
  86.         m_32x32MonoIcon = new32x32MonoIcon;
  87.     }
  88.     
  89.     protected boolean isInheritSuperBeanInfo()
  90.     {
  91.         return m_InheritSuperBeanInfo;
  92.     }
  93.     
  94.     protected void setInheritSuperBeanInfo(boolean newInheritSuperBeanInfo)
  95.     {
  96.         m_InheritSuperBeanInfo = newInheritSuperBeanInfo;
  97.     }
  98.     
  99.     protected String getComponentLibraryFolder()
  100.     {
  101.         return m_ComponentLibraryFolder;
  102.     }
  103.     
  104.     protected void setComponentLibraryFolder(String newComponentLibraryFolder)
  105.     {
  106.         m_ComponentLibraryFolder = newComponentLibraryFolder;
  107.     }
  108.     
  109.     protected String getToolbarFolder()
  110.     {
  111.         return m_ToolbarFolder;
  112.     }
  113.     
  114.     protected void setToolbarFolder(String newToolbarFolder)
  115.     {
  116.         m_ToolbarFolder = newToolbarFolder;
  117.     }
  118.     
  119.     protected String getWinHelpKey()
  120.     {
  121.         return m_WinHelpKey;
  122.     }
  123.     
  124.     protected void setWinHelpKey(String newWinHelpKey)
  125.     {
  126.         m_WinHelpKey = newWinHelpKey;
  127.     }
  128.     
  129.     protected Boolean getIsContainer()
  130.     {
  131.         return m_IsContainer;
  132.     }
  133.     
  134.     protected void setIsContainer(Boolean newIsContainer)
  135.     {
  136.         m_IsContainer = newIsContainer;
  137.     }
  138.     
  139.     protected void setIsContainer(boolean newIsContainer)
  140.     {
  141.         setIsContainer(newIsContainer ? Boolean.TRUE : Boolean.FALSE);
  142.     }
  143.     
  144.     //
  145.     // Overrides
  146.     //
  147.     
  148.     protected abstract Class getBeanClass();
  149.     
  150.     protected Class getCustomizerClass()
  151.     {
  152.         return null;
  153.     }
  154.     
  155.     protected void modifyBeanDescriptor(BeanDescriptor beanDescriptor)
  156.     {
  157.         if (m_ComponentLibraryFolder != null)
  158.             beanDescriptor.setValue(BeanDescriptorAttributes.FOLDER_ATTRIBUTE,m_ComponentLibraryFolder);
  159.         
  160.         if (m_ToolbarFolder != null)
  161.             beanDescriptor.setValue(BeanDescriptorAttributes.TOOLBAR_ATTRIBUTE,m_ToolbarFolder);
  162.         
  163.         if (m_WinHelpKey != null)
  164.             beanDescriptor.setValue(BeanDescriptorAttributes.WINHELP_ATTRIBUTE,m_WinHelpKey);
  165.         
  166.         if (m_IsContainer != null)
  167.             beanDescriptor.setValue(com.symantec.itools.swing.beans.BeanDescriptorAttributes.IS_CONTAINER_ATTRIBUTE,m_IsContainer);
  168.     }
  169.     
  170.     protected boolean m_InheritSuperBeanInfo = false;
  171.     
  172.     protected String m_ComponentLibraryFolder = null;
  173.     
  174.     protected String m_ToolbarFolder = null;
  175.     
  176.     protected String m_WinHelpKey = null;
  177.     
  178.     protected Boolean m_IsContainer = null;
  179.     
  180.     protected String m_16x16ColorIcon = null;
  181.     protected String m_32x32ColorIcon = null;
  182.     protected String m_16x16MonoIcon = null;
  183.     protected String m_32x32MonoIcon = null;
  184. }
  185.